package org.NooLab.somclients.domains;

public interface SomClientIntf extends SomClientPublicIntf{
	
	
	
	/** this som is controlled by SomClients or even by the user as 
	 *  a dedicated instance, thus not a "floating" member of a population;
	 *  could be of type Astor, Purple, Idea...  */
	public static final int _SOMCLIENT_TYPE_SOMDED  = 1;
	
	/** this SOM is freely floating as part of a population;
	 *  its purpose as well as its content is completely dynamic;
	 *  population SOMs are spawned by other SOMs under certain conditions,
	 *  if spawning is allowed, if they are not created by SomClients, they 
	 *  register there */
	public static final int _SOMCLIENT_TYPE_SOMPOP  = 2;
	
	/** a Markov table, usually using data from an Astor SOM as input ;
	 *  since the SOM is stored in the */
	public static final int _SOMCLIENT_TYPE_MARKOVTABLE = 8;

	/**     */
	public static final int _SOMCLIENT_TYPE_MARKOVHMM   = 9;

	
	/** a spela instance; this is useful only for targeted modeling, particularly
	 * in contexts where strong models are needed (without type-I errors);
	 * here it helps to organize the selection and recombination of models, as well
	 * as for validation and more advanced reasoning about the data and the SOM  */
	public static final int _SOMCLIENT_TYPE_SPELA   = 11;
	
	/** this instance of the SomClient is displaying any of the SOM, the 
	 *  validation data, the nodes profiles, the population as a whole, 
	 *  but also the Markov table   */
	public static final int _SOMCLIENT_TYPE_DISPLAY = 12;

	/**  */
	public static final int _SOMCLIENT_TYPE_QUERY   = 15;

	
	
	public int getSomClientType();

	String getGuid();
}
